The various protocols of the TCP/IP suite as well as Client/Server networks are well known in the art. Internet Protocol ("IP") is a networking protocol that provides a basis for communication across interconnected networks, between computers with diverse hardware architectures and various operating systems. IP provides a structure for addressing nodes on the network for routing datagram messages from one node on the network to another using these "IP Addresses." Transmission Control Protocol ("TCP") is another networking protocol that uses the services that IP provides, but adds the ability for one node on the network to communicate with another via a virtual connection that guarantees in-order delivery of a stream of data packets in both directions. The combination of the two is known in the art as "TCP/IP," and there are many protocols to provide various types of services that are layered atop this pair. File Transfer Protocol ("FTP"), as an example, is a very commonly used protocol that allows a computer to access files on other computers on the network, and forms the basis of tools that allow user access to file archives around the world that are linked to the Internet. The Domain Name System ("DNS") is a service based on TCP/IP, and provides a mechanism for efficiently mapping IP Addresses to symbolic network node names. In a client/server network, clients are devices and software that request information or applications from servers. Servers are shared computers on a network. Under TCP/IP, IP and FTP, each server on a client/server network has a unique 32-bit number (i.e. an "IP Address") assigned thereto for identification purposes, and usually has a unique symbolic name assigned as well. Translation between IP Addresses and symbolic node names is usually accomplished via a "DNS Server" which is a computer with a known IP Address that accepts and responds to name/address translation requests.
The problem with the use of TCP/IP based protocols in existing client/server networks can be readily seen when a server is taken out of service. For example, when a server's administrator needs to add an application, the server must be taken out of service so the application can be installed and the server can be reinitialized. However, when the server is taken out of service, other applications running on the server are interrupted and must be restarted. Consequently, connections between clients and that server are terminated, and new connections to that server's IP address will be refused or unacknowledged. In order to circumvent this problem, the prior art uses a configuration (shown in FIG. 1) whereby servers 100, 102 are arranged in an array behind a router 106. DNS Server 112 is used to translate the symbolic name of the server to an IP address on Local Area Network 204. In this prior art configuration, when server 100 is removed from service, incoming client service requests must be redirected to another server, in this case server 102. Changing the name/address translation tables in DNS server 112 is usually the method used for accomplishing this.
Using the prior art configuration, clients originally connected to a lost server must restart communications in order to connect to other members of the server array. However, this recovery method may not work until the translation tables in the DNS server have been updated. Thus, whenever a server is taken out of service, IP connections are interrupted and application execution by servers and/or clients are seriously delayed. Accordingly, it is an object of the present invention to provide servers with the ability to soft switch TCP/IP connections and applications to another TCP/IP engine without negatively impacting clients connected to the servers.